home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / A-COMAL Series / (k)aab.d64 / lst.delink < prev    next >
Text File  |  2007-02-28  |  4KB  |  149 lines

  1. 0010 // ─┼╠┼╘┼ "LST.DELINK"
  2. 0020 // ╠╔╙╘   "LST.DELINK"
  3. 0030 //
  4. 0040 //  BY ─ICK ╦LINGENS - NOV85
  5. 0050 //  ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
  6. 0060 //
  7. 0070 //  AND ─AVID ╙TIDOLPH - JAN86
  8. 0080 //  ├╧═┴╠ ╒SERS ╟ROUP, ╒╙┴
  9. 0090 //
  10. 0100 ╒╙┼ SYSTEM
  11. 0110 INFO
  12. 0120 ─╔═ FILENAME$ ╧╞ 18
  13. 0130 LIBLO:=$C7F0
  14. 0140 LIBHI:=$C7FA
  15. 0150 LIBPAG:=$C804
  16. 0160 LIBPT:=$C7EF // LIBRARY POINTER
  17. 0170 NLIB:=╨┼┼╦(LIBPT)
  18. 0180 //  NUMBER OF LIBRARIES
  19. 0190 SHOW'NAMES
  20. 0200 CHOICE(NUM)
  21. 0210 LO:=╨┼┼╦(LIBLO+NUM-1)
  22. 0220 HI:=╨┼┼╦(LIBHI+NUM-1)
  23. 0230 PAG:=╨┼┼╦(LIBPAG+NUM-1)
  24. 0240 // LIBRARY IS ON PAGE PAG
  25. 0250 SETPAGE(PAG)
  26. 0260 AD'START:=LO+256*HI
  27. 0270 AD'END:=╨┼┼╦(AD'START+1)
  28. 0280 AD'END:+256*╨┼┼╦(AD'START+2)
  29. 0290 // START & END ADDRESS
  30. 0300 GET'FILENAME
  31. 0310 MEM'TO'OBJ(1,AD'START,AD'END-1)
  32. 0320 ┼╬─ " ─ONE"
  33. 0330 //
  34. 0340 ╨╥╧├ SHOW'NAMES 
  35. 0350   ╨╥╔╬╘ 
  36. 0360   ╨╥╔╬╘ " ─┼╠╔╬╦"
  37. 0370   ╨╥╔╬╘ 
  38. 0380   ╨╥╔╬╘ " ╨ACKAGES IN MEMORY ARE:"
  39. 0390   ╨╥╔╬╘ 
  40. 0400   ╞╧╥ T:=1 ╘╧ NLIB ─╧
  41. 0410     LO:=╨┼┼╦(LIBLO+T-1)
  42. 0420     HI:=╨┼┼╦(LIBHI+T-1)
  43. 0430     START:=LO+256*HI
  44. 0440     PAG:=╨┼┼╦(LIBPAG+T-1)
  45. 0450     SETPAGE(PAG)
  46. 0460     ╨╥╔╬╘ ╒╙╔╬╟ " ##) ": T,
  47. 0470     ╨╥╔╬╘ NAME$(START)
  48. 0480   ┼╬─╞╧╥ T
  49. 0490 ┼╬─╨╥╧├ SHOW'NAMES
  50. 0500 //
  51. 0510 ╞╒╬├ NAME$(X) ├╠╧╙┼─
  52. 0520   L:=╨┼┼╦(X+5)
  53. 0530   // LENGTH OF PACKAGE NAME
  54. 0540   ─╔═ R$ ╧╞ L
  55. 0550   ╞╧╥ T:=1 ╘╧ L ─╧
  56. 0560     R$:+├╚╥$(╨┼┼╦(X+5+T))
  57. 0570   ┼╬─╞╧╥ T
  58. 0580   ╥┼╘╒╥╬ R$
  59. 0590 ┼╬─╞╒╬├ NAME$
  60. 0600 //
  61. 0610 ╨╥╧├ CHOICE(╥┼╞ NUM) ├╠╧╙┼─
  62. 0620   ╔═╨╧╥╘ NLIB,CURROW,CURCOL
  63. 0630   ╨╥╔╬╘ 
  64. 0640   X:=CURROW; Y:=CURCOL
  65. 0650   ╥┼╨┼┴╘ 
  66. 0660     ╔╬╨╒╘ ┴╘ X,Y,2: " ╘YPE NUMBER: ": NUM
  67. 0670   ╒╬╘╔╠ NUM>=0 ┴╬─ NUM<=NLIB
  68. 0680   ╔╞ NUM=0 ╘╚┼╬
  69. 0690     ┼╬─ "┼ND OF PROGRAM"
  70. 0700   ┼╬─╔╞ 
  71. 0710 ┼╬─╨╥╧├ CHOICE
  72. 0720 //
  73. 0730 ╨╥╧├ INFO 
  74. 0740   ╨┴╟┼
  75. 0750   ╨╥╔╬╘ " ─┼╠╔╬╦"
  76. 0760   ╨╥╔╬╘ 
  77. 0770   ╨╥╔╬╘ " ╘HIS PROGRAM DE╠╔╬╦S A PACKAGE THAT"
  78. 0780   ╨╥╔╬╘ " IS LINKED AT ANOTHER PROGRAM."
  79. 0790   ╨╥╔╬╘ 
  80. 0800   ╨╥╔╬╘ " ╞IRST ╠╧┴─ THAT PROGRAM AND TYPE:"
  81. 0810   ╨╥╔╬╘ "   ─┼╠-"
  82. 0820   ╨╥╔╬╘ "   ═┼╥╟┼ ""LST.DELINK"""
  83. 0830   ╨╥╔╬╘ "   ╥╒╬"
  84. 0840   ╨╥╔╬╘ 
  85. 0850   ╨╥╔╬╘ " ╘HEN THE PACKAGE IS IN A BINARY FILE."
  86. 0860   ╨╥╔╬╘ " ╔T IS A MEMORY IMAGE OF THE PACKAGE."
  87. 0870   ╨╥╔╬╘ 
  88. 0880   ╨╥╔╬╘ " ╒SE A PROGRAM SUCH AS"
  89. 0890   ╨╥╔╬╘ "    MAKE'OBJECT'FILE"
  90. 0900   ╨╥╔╬╘ " TO CREATE A PACKAGE ╠╔╬╦ FILE."
  91. 0910   
  92. 0920   ╨╥╔╬╘ 
  93. 0930   ╨╥╔╬╘ " *** ╘YPE ANY KEY TO CONTINUE OR   ***"
  94. 0940   ╨╥╔╬╘ " ***                 ┼╙├ TO STOP   ***"
  95. 0950   ╫╚╔╠┼ ╦┼┘$<>""0"" ─╧ ╬╒╠╠
  96. 0960   ╫╚╔╠┼ ╦┼┘$=""0"" ─╧ ╬╒╠╠
  97. 0970   ╨┴╟┼
  98. 0980 ┼╬─╨╥╧├ INFO
  99. 0990 //
  100. 1000 ╨╥╧├ MEM'TO'OBJ(F'NUM,ADD,LAST) ├╠╧╙┼─
  101. 1010   ─╔═ CODE$ ╧╞ 80, ADRS$ ╧╞ 4
  102. 1020   LINO:=0
  103. 1030   ╥┼╨┼┴╘ 
  104. 1040     LINO:+1; RL:=0; CODE$:=""
  105. 1050     ╫╚╔╠┼ RL<$18 ┴╬─ ADD+RL<=LAST ─╧
  106. 1060       CODE$:+HEX$(╨┼┼╦(ADD+RL)); RL:+1
  107. 1070     ┼╬─╫╚╔╠┼ 
  108. 1080     ADRS$:=HEX$(ADD ─╔╓ 256)
  109. 1090     ADRS$:+HEX$(ADD ═╧─ 256)
  110. 1100     CODE$:=";"+HEX$(RL)+ADRS$+CODE$
  111. 1110     CHECKSUM(CODE$)
  112. 1120     ╨╥╔╬╘ ╞╔╠┼ F'NUM: CODE$
  113. 1130     ADD:+RL
  114. 1140   ╒╬╘╔╠ ADD>LAST
  115. 1150   CODE$:=";00"+HEX$(LINO ─╔╓ 256)
  116. 1160   CODE$:+HEX$(LINO ═╧─ 256)
  117. 1170   CODE$:+CODE$(4:)
  118. 1180   ╨╥╔╬╘ ╞╔╠┼ F'NUM: CODE$
  119. 1190   ├╠╧╙┼ ╞╔╠┼ F'NUM
  120. 1200   //
  121. 1210   ╨╥╧├ CHECKSUM(╥┼╞ X$) 
  122. 1220     CH:=0
  123. 1230     ╞╧╥ T:=2 ╘╧ ╠┼╬(X$) ╙╘┼╨ 2 ─╧
  124. 1240       CH:+╓┴╠("$"+X$(T:T+1))
  125. 1250     ┼╬─╞╧╥ T
  126. 1260     X$:+HEX$(CH ─╔╓ 256)
  127. 1270     X$:+HEX$(CH ═╧─ 256)
  128. 1280   ┼╬─╨╥╧├ CHECKSUM
  129. 1290   //
  130. 1300   ╞╒╬├ HEX$(X) ├╠╧╙┼─
  131. 1310     ─╔═ H$ ╧╞ 16
  132. 1320     H$:="0123456789ABCDEF"
  133. 1330     ╥┼╘╒╥╬ H$((X ─╔╓ 16)+1)+H$((X ═╧─ 16)+1)
  134. 1340   ┼╬─╞╒╬├ HEX$
  135. 1350 ┼╬─╨╥╧├ MEM'TO'OBJ
  136. 1360 //
  137. 1370 ╨╥╧├ GET'FILENAME 
  138. 1380   ╨╥╔╬╘ 
  139. 1390   ╔╬╨╒╘ ┴╘ 0,0,18: "┼NTER FILENAME: ": FILENAME$
  140. 1400   ╘╥┴╨ 
  141. 1410     ╧╨┼╬ ╞╔╠┼ 1,FILENAME$,╫╥╔╘┼
  142. 1420   ╚┴╬─╠┼╥ 
  143. 1430     ├╠╧╙┼
  144. 1440     ╨╥╔╬╘ 
  145. 1450     ╨╥╔╬╘ "─ISK ERROR --";┼╥╥╘┼╪╘$
  146. 1460     ┼╬─ 
  147. 1470   ┼╬─╘╥┴╨ 
  148. 1480 ┼╬─╨╥╧├ GET'FILENAME
  149.